package net.spatula.tally_ho.ui.validators;

/* Copyright 2006 Nicklas R Johnson
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import wicket.markup.html.form.FormComponent;
import wicket.markup.html.form.validation.StringValidator;

public class NoHtmlValidator extends StringValidator {

	private static final long serialVersionUID = 1L;
	private static final Pattern pattern = Pattern.compile(".*</?[-\\w]+[^>]+>.*", Pattern.DOTALL);

	public void onValidate(FormComponent component, String data) {

		if (data == null || data.length() < 2) {
			return;
		}
		
		Matcher matcher = pattern.matcher(data);
		if (matcher.matches()) {
			error(component);
			data = data.replaceAll("</?[-\\w]+[^>]+>", "");
			component.setModelValue(data);
		}
		
	}

}
